iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
Mobile Development

30天用React native製作app!!系列 第 14

[蚊子的Day14]鍵盤輸入不擋畫面~React Native

  • 分享至 

  • xImage
  •  

我的App中有設計使用到了一些輸入框,當我把畫面都刻好了後卻發現了一個問題:手機的輸入鍵盤跳出後把輸入框全都擋住了!!

我的解決方法就是加入<KeyboardAwareScrollView>標籤,這個標籤可以讓畫面在手機鍵盤跳出時自動向上滑動,非常的實用~

要使用<KeyboardAwareScrollView>首先要安裝套件,呼叫出VScode的控制台後輸入以下程式碼:

npm i react-native-keyboard-aware-scrollview

套件安裝完成後將KeyboardAwareScrollView匯入檔案中:

import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'

之後就可以開始使用<KeyboardAwareScrollView>,<KeyboardAwareScrollView>要將預計移動的區塊畫面都包在內喔~以下附上部分程式碼~我除了背景底圖不移動外中間的內容都要跟著鍵盤往上移動。

    <ImageBackground style={{ flex: 1 }} source={require('../../assets/bg_all.png')}>
        <KeyboardAwareScrollView>
            <View style={styles.logincardborderbox}>
              <View style={styles.input}>
                <Text style={styles.laybel}>&emsp;學號:</Text>
                <View style={styles.inputbox}>
                  <TextInput
                    placeholder="輸入學號"
                    placeholderTextColor="#747474"
                    maxLength={9}
                    style={styles.textbox}
                    value={me.ans}
                    keyboardType="number-pad"
                  />
                </View>
              </View>

              <View style={styles.input}>
              <Text style={styles.laybel}>&emsp;名稱:</Text>
              <View style={styles.inputbox}>
                <TextInput
                  placeholder="輸入名稱"
                  placeholderTextColor="#747474"
                  maxLength={8}
                  style={styles.textbox}
                  value={me.ans}
                  autoCorrect={false}
                />
              </View>
              </View>
              <TouchableHighlight 
              onPress={() =>{ 
                if(me.year.length===9)navigation.navigate('首頁');
                else alert("學號格式不正確")
              }} 
              style={styles.gobutton} 
              underlayColor="#A7050E">
                <Text style={styles.goStyle}>Go</Text>
              </TouchableHighlight>
            </View>
        </KeyboardAwareScrollView>
    </ImageBackground>

上一篇
[蚊子的Day13]自定元件~React Native
下一篇
[蚊子的Day15]tab bar製作~React Native
系列文
30天用React native製作app!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言